import * as vscode from 'vscode'
import { activateVSCodeExtension } from './vscode-extension'
import { CompatibilityTree } from '../compatibility-tree'

/**
 * VS Code扩展使用说明
 * 
 * 1. 在扩展的activate函数中初始化:
 * 
 * ```typescript
 * import { CompatibilityTree } from 'compatibility-tree'
 * import { activateVSCodeExtension } from 'intelligent-workflow'
 * 
 * export function activate(context: vscode.ExtensionContext) {
 *   const tree = new CompatibilityTree()
 *   activateVSCodeExtension(tree)
 * }
 * ```
 * 
 * 2. 提供的诊断功能:
 * - PEP8代码规范检查
 * - 安全漏洞检测(SQL注入、XSS等)
 * - 依赖和API兼容性检查
 * 
 * 3. 配置选项:
 * - `compatibility.ignorePatterns`: 要忽略的文件模式
 * - `compatibility.severityLevel`: 问题严重级别
 * 
 * 4. 快速修复支持:
 * - 自动修复PEP8问题
 * - 替换不安全函数调用
 * - 建议兼容的替代API
 */
export function setupVSCodeIntegration(tree: CompatibilityTree) {
  return vscode.commands.registerCommand(
    'compatibility.enableAnalysis',
    () => activateVSCodeExtension(tree)
  )
}

/**
 * 支持的诊断代码:
 * 
 * | 代码  | 类型              | 描述                     |
 * |-------|-------------------|--------------------------|
 * | PEP8  | 代码规范          | 违反PEP8风格指南         |
 * | SEC   | 安全漏洞          | 潜在的安全风险           |
 * | COMP  | 兼容性问题        | 依赖或API不兼容          |
 */
export type DiagnosticCodes = 'PEP8' | 'SEC' | 'COMP'